4.1.6 选择排序

  • 时间复杂度: О(n²)
  • 空间复杂度: O(1)

思想:首先从原始数组中找到最小的元素,并把该元素放在数组的最前面,然后再从剩下的元素中寻找最小的元素,放在之前最小元素的后面,直到排序完毕。

 function selectSort(arr){ 
   var len = arr.length; 
   var index,temp; 
   for(var i = 0; i < len-1 ;i++){ 
     index = i; 
     for(var j = i + 1 ; j<len; j++){ 
       if(arr[j] < arr[index]){//寻找最小的数
         index = j;//保存最小数的索引
       } 
     } 
   temp = arr[i]; 
   arr[i] = arr[index]; 
   arr[index] = temp; 
  } 
  return arr; 
} 
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

参考